package com.uzai.console.vo.wechatwork.devicewxworkinfo;

import com.uzai.console.vo.alarm.alarmrule.AlarmRuleInfoVo;
import com.uzai.console.vo.deviceauth.DeviceAuthVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年08月31日 15:17
 */
@Data
@ApiModel("企业微信机器人返回信息")
public class DeviceWxworkInfoVo {
    @ApiModelProperty("机器人id")
    private Long id;
    @ApiModelProperty("机器人wxid")
    private String deviceId;
    @ApiModelProperty("机器人昵称")
    private String deviceName;
    @ApiModelProperty("机器人备注")
    private String deviceRemark;
    @ApiModelProperty("机器人头像")
    private String headImgUrl;
    @ApiModelProperty("机器人分组id")
    private Long groupId;
    @ApiModelProperty("机器人分组名称")
    private String groupName;
    @ApiModelProperty("用户组id")
    private Long userGroupId;
    @ApiModelProperty("用户组名称")
    private String userGroupName;
    @ApiModelProperty("配置方案ID")
    private Long configId;
    @ApiModelProperty("配置方案名称")
    private String configName;

    //设备监控时使用
    @ApiModelProperty("报警规则id")
    private Long alarmRuleId;
    //报警规则对象
    @ApiModelProperty("报警规则对象")
    private AlarmRuleInfoVo alarmRuleInfoVo;

    //是否购买PC端
    @ApiModelProperty("PC端是否授权(0-未授权；1-已授权)")
    private Integer pcDeviceAuthStatus;
    //是否购买移动端
    @ApiModelProperty("移动端是否授权(0-未授权；1-已授权)")
    private Integer mobileDeviceAuthStatus;

    //pc产品功能授权列表
    @ApiModelProperty("PC端产品功能授权列表")
    private List<DeviceAuthVo> pcDeviceAuthVoList;

    //移动端产品功能授权列表
    @ApiModelProperty("移动端端产品功能授权列表")
    private List<DeviceAuthVo> mobileDeviceAuthVoList;

    //产品功能授权列表
    @ApiModelProperty("产品功能授权列表")
    private List<DeviceAuthVo> deviceAuthVoList;

    /**
     * 客户端所在的服务器系统版本
     */
    @ApiModelProperty("操作系统版本")
    private String sysVersion;
    /**
     * 系统CPU使用率
     */
    @ApiModelProperty("电脑端系统CPU使用率（百分比）")
    private Integer sysCpuUse;
    /**
     * 电脑端系统内存使用率
     */
    @ApiModelProperty("电脑端系统内存使用率（百分比）")
    private Integer sysMemUse;

    /**
     * 电脑端硬盘总空间（单位：字节）
     */
    @ApiModelProperty("电脑端硬盘总空间（单位：MB）")
    private Double diskTotal;

    /**
     * 电脑端硬盘可使用的空间（单位：字节）
     */
    @ApiModelProperty("电脑端硬盘可使用的空间（单位：MB）")
    private Double diskFree;

    //是否可以转移授权时间
    @ApiModelProperty("是否可以转移授权时间(0-不能转移；1-可以转移)")
    private Integer transferAuthTimeFlag;

    @ApiModelProperty("是否自动迁移 （0否，1是）")
    private Integer autoReplace;

    @ApiModelProperty("配置方案启用规则（0-用户默认客户端；1-用户当前使用客户端）")
    private int configRule;

    /**
     * 更新微信通讯录时间
     */
    @ApiModelProperty("更新微信通讯录时间")
    private int refreshWxcontactsTime;

    @ApiModelProperty("PC客户端版本")
    private String pcClientVersion;
    @ApiModelProperty("PC客户端版本是否有更新(0-无更新；1-有更新；2-更新中; 3-更新失败")
    private Integer updatePcClientVersion;
    @ApiModelProperty("移动端客户端版本")
    private String mobileClientVersion;
    @ApiModelProperty("移动端客户端版本是否有更新(0-无；1-有")
    private Integer updateMobileClientVersion;
    @ApiModelProperty("移动端微信版本")
    private String mobileWxVersion;
    @ApiModelProperty("PC端微信版本")
    private String pcWxVersion;
    @ApiModelProperty("PC在线状态（0-离线；1-在线）")
    private Integer pcOnLine;
    @ApiModelProperty("PC端是否处理消息（0-不处理；1-处理）")
    private Integer pcMsgHandler;
    @ApiModelProperty("手机在线状态（0-离线；1-在线）")
    private Integer mobileOnLine;
    @ApiModelProperty("移动端是否处理消息（0-不处理；1-处理）")
    private Integer mobileMsgHandler;
    @ApiModelProperty("手机端剩余电量百分比")
    private Integer batteryLevel;
    @ApiModelProperty("手机端外部存储（sdcard）剩余空间(单位:MB)")
    private Double sdCardFree;
    @ApiModelProperty("工作状态（2：电脑，9手机）")
    private Integer recvmsgType;
    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    private String  mobile;

    /**
     * 手机号类型(0：电信，1：移动， 2：联通)
     */
    @ApiModelProperty("手机号类型(0：电信，1：移动， 2：联通)")
    private Integer mobiletype;

    /**
     * 话费余额
     */
    @ApiModelProperty("话费余额")
    private Double phonebal;

    /**
     * 更新微信通讯录时间
     */
    @ApiModelProperty("最新发送时间")
    private Integer sendTime;

    /**
     * 最后登录的IP地址
     */
    @ApiModelProperty("最后登录的IP地址")
    private String lastLoginIpAddress;
}
